﻿#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
#include <string>

//汽水瓶
//https://www.nowcoder.com/questionTerminal/fe298c55694f4ed39e256170ff2c205f?orderByHotValue=1&mutiTagIds=1213&page=1&onlyReference=false
//int main()
//{
//	int bottle = 0;
//	while (cin >> bottle && bottle != 0)
//	{
//		int minwater = 0;
//		while (bottle)
//		{
//			if (bottle > 2) { bottle -= 2; ++minwater; }
//			else if (bottle == 2) { ++minwater; break; }
//			else if (bottle < 2) { break; }
//		}
//		cout << minwater << endl;
//	}
//	return 0;
//}

//查找两个字符串a,b中的最长公共子串 - 暴力遍历
//https://www.nowcoder.com/questionTerminal/181a1a71c7574266ad07f9739f791506?commentTags=Java
//int main()
//{
//    string str1, str2;
//    while (cin >> str1 >> str2)
//    {
//        if (str1.size() < str2.size()) //保存长串在str1
//        {
//            swap(str1, str2);
//        }
//        string s;
//        int left = 0;
//        int right = 0;
//        for (int sz1 = 0; sz1 < str1.size(); ++sz1)
//        {
//            for (int sz2 = 0; sz2 < str2.size(); ++sz2)
//            {
//                if (str1[sz1] == str2[sz2]) //相同开始匹配
//                {
//                    int cur1 = sz1;
//                    int cur2 = sz2;
//                    while (cur1 <= str1.size() && cur2 <= str2.size() && str1[cur1] == str2[cur2])
//                    {
//                        ++cur1;
//                        ++cur2;
//                    }
//                    if ((cur2 - sz2) > (right - left))
//                    {
//                        left = sz2;
//                        right = cur2;
//                    }
//                    else if ((cur2 - sz2) == (right - left) && cur2 < right && sz2 < left)
//                    {
//                        left = sz2;
//                        right = cur2;
//                    }
//                }
//            }
//        }
//        for (; left < right; ++left)
//        {
//            cout << str2[left];
//        }
//    }
//}


//最长公共子串 - 暴力遍历
//https://www.nowcoder.com/questionTerminal/210741385d37490c97446aa50874e62d?source=relative
//int main()
//{
//    string str1, str2;
//    while (cin >> str1 >> str2)
//    {
//        if (str1.size() < str2.size()) //保存长串在str1
//        {
//            swap(str1, str2);
//        }
//
//        int left = 0;
//        int right = 0;
//        for (int sz1 = 0; sz1 < str1.size(); ++sz1)
//        {
//            for (int sz2 = 0; sz2 < str2.size(); ++sz2)
//            {
//                if (str1[sz1] == str2[sz2]) //相同开始匹配
//                {
//                    int cur1 = sz1;
//                    int cur2 = sz2;
//                    while (cur1 <= str1.size() && cur2 <= str2.size() && str1[cur1] == str2[cur2])
//                    {
//                        ++cur1;
//                        ++cur2;
//                    }
//                    if ((cur2 - sz2) > (right - left))
//                    {
//                        left = sz2;
//                        right = cur2;
//                    }
//                }
//            }
//        }
//        if (left == right && right == 0)
//        {
//            cout << -1;
//        }
//        else
//        {
//            for (left, right; left < right; ++left)
//            {
//                cout << str2[left];
//            }
//        }
//    }
//}